package caculte

// AddNumber 是一个用于计算两个整数之和的函数。
// 参数：
//
//	a - 第一个待相加的整数。
//	b - 第二个待相加的整数。
//
// 返回值：
//
//	返回两个整数相加后的结果。
func AddNumber(a int, b int) int {
	return a + b
}

// adder 函数接收一个整数 a，并返回一个闭包函数。
// 该闭包函数接收另一个整数 b，并返回 a 和 b 的和。
// 这种设计允许在不同上下文中重用 adder 函数，而无需每次都指定 a 的值。
func adder(a int) func(int) int {
	// 返回一个闭包，它“记住”了外部函数 adder 的局部变量 a。
	// 这个闭包可以被用来多次添加不同的值 b 到原始的 a 值上。
	return func(b int) int {
		return a + b
	}
}

// SubtractNumber 是一个用于计算两个整数之差的函数。
// 参数：
//
//	a - 被减数。
//	b - 减数。
//
// 返回值：
//
//	返回被减数减去减数后的结果。
//func SubtractNumber(a int, b int) int {
//	return a - b
//}

// SubtractNumber 函数接收一个整数 a，并返回一个闭包函数。
// 该闭包函数接收另一个整数 b，并返回 a 减去 b 的结果。
// 这种设计允许在不同上下文中重用 SubtractNumber 函数，而无需每次都指定 a 的值。
func SubtractNumber(a int) func(int) int {
	// 返回一个闭包，它“记住”了外部函数 SubtractNumber 的局部变量 a。
	// 这个闭包可以被用来多次计算不同的值 b 从原始的 a 值中减去的结果。
	return func(b int) int {
		return a - b
	}
}
